Routing, in this context, is generally the process of selecting a path for data to travel within a network from a source to a destination. Typically it involves selecting a sequence of network links to be traversed as data travels from device to device within a network. In this context, a link may be a physical, virtual, or wireless connection between two or more devices. In many instances, data may pass through or be handled by multiple intermediate devices between the original source of the data and the data's final destination.
Occasionally, a network route fails or becomes broken. For example, an intermediate device may lose power, or a cable may be unplugged or cut; however, it is understood that network failures may occur for many reasons of which the above are merely a few non-limiting examples. Typically in such an instance, the network failure is eventually detected. Generally, the amelioration of the failure in the network route or path is handled by a software or firmware program. Often, the program will alert other devices within the network path of the failure and an alternate route will be selected. Typically, this software recovery technique may be quite slow, e.g. at least 100 milliseconds (ms). During that time, additional pieces of data may experience the as yet uncorrected network failure and may be lost.
Often transmitted data is characterized as uni-cast, meaning in this context that there is one source and one destination for the data. Other forms of transmitted data may be characterized as multi-cast, meaning in this context that there is one source and multiple destinations. Often a network route involving multi-cast data will involve a fork in the routing path, with a first sub-set of the destinations coupled with a first prong of the fork and a second sub-set of destinations coupled with a second prong of the fork. Typically, prior to the fork, only one copy of the data may be transmitted. However, often when the fork is reached the data may be copied into two (or more) versions and transmitted along both prongs of the fork simultaneously.